home *** CD-ROM | disk | FTP | other *** search
- Hi again,
-
- > Laurent thought about MOOD. Good idea, heh?
-
- Yes, it sure is. ;-)
-
- > >No, but it'd be more comfortable to have at least a working title,
- > >especially for discussions on newsgroups etc.
- > OK, let's call it MOOD for short.
-
- I think a two word title would be better, but for the time being it's not
- bad at all.
-
- > Exactly. So the program should be more or less the same, it's what you
-
- Yes, I believe so.
-
- > think? And Laurent seems to be enthousiastic about the improvements he can
- > bring. So...
-
- He's back now, by the way. I exchanged some email with him today.
- I think we should set up some kind of mailing list to make the discussions
- easier, especially if more people get involved. You don't happen to know
- anything about how to do that, do you?
-
- > In fact, I don't know how he plans to do it. But I have to try
- > independantly, just to see what can be done with the 68030 alone.
-
- Yes, I've been thinking about that myself. ;-)
-
- > You mean that the texture mapping is standard enough stuff and that the real
-
- Perhaps not standard, but at least pretty short and relatively simple.
-
- > improvements will be to decide in the fastest possible way what to draw, and
- > what not to draw?
-
- Yes.
-
- > So you're in computers to the throat!
-
- I guess you could say that.
-
- > lot more "classical" litterature. SF is fun, but not so interesting...
- ^^^^^^^^^^^
- Anything special you could recommend? I'm out of books at the moment.
-
- > I was very good at fencing when I was a kid, but I quit when I was 17. I
-
- Well, so far I have no plans on quitting so hopefully I'll be pretty good
- in 17 years or so... ;-)
-
- > often play with the idea of digging my old sword out of the attic.
-
- What type of weapon did you use? Foil?
- I can't find any literature that mentions much about anything other than
- that, but I'm learning epee (Really strange name that. In Swedish we
- use the same word as for rapier), which needs quite another type of
- tactics it seems.
-
- > Is Rowdraw used only when drawing floors? I think our program will certainly
-
- Yes, but it's pretty fast since it just throws out a bunch of bytes at
- consecutive addresses.
-
- > >of large arrays, though, which would not have fit. Fortunately, I believe
- > >I have found a way to get rid of almost all of that.
- > What is it? And has all this data to be kept at the same time?
-
- Well, originally DVIEW caclulated all the horizontal and vertical runs to
- be drawn before actually writing a single pixel. It then started with
- the floors/ceilings and when all those were drawn did the walls.
- Apart from some special cases (that I don't think should occur, but I
- can't convince DVIEW of that) it is, however, possible to for every line
- segment checked, draw it and the corresponding floor and ceiling. That
- way only a small part of the previous tables has to be kept.
-
- Take a look at how the drawing occurs in 'F'/'W' mode with single step.
- The image is built up in a very strange way, but nothing is drawn twice
- (I even XOR everything to show that absolutely clear) except for the
- strange special cases I've mentioned.
-
- > Anyway, I have to take a serious look at the source of DVIEW. I haven't had
- > the time to do it yet.
-
- Be prepared that it takes a while to come to grips with it. The single step
- drawing functionality helps quite a bit.
-
- > Yes, because there is probably no other way to draw them than back to front.
- > So you have to keep track of the coordinates of the transparent polygons of
- > the ssectors. Is that it or am I completely out of the point?
-
- I've not given any thought to transparent walls yet, but the problem is
- close to what you say (if I understood you correctly).
- Consider the problem of drawing a sprite behind a low pillar some way 'into'
- the picture:
- - It's more or less impossible to draw the sprite before or
- during the drawing of floors, ceilings and walls since there would have to
- be a lot of masking etc going on.
- - The legs of the monster are covered by both the walls and the top surface
- of the low pillar.
- Now, without having all the coordinates for the pixels that constitue our
- pillar, we can't help drawing the monster partly on top of it, which
- needless to say would look _bad_.
- Of course different parts of the monster could be covered by different
- pillars and 'stalagtites' as well as walls from the sides...
-
- > No no! I think you're right. We have to keep in mind that we have sprites to
-
- Ah, this really is difficult. Without bothering about the sprites we could
- probably make the engine quite a bit faster, but putting them in afterwards
- _could_ be _very_ difficult. As I've mentioned elsewhere, I think we'd
- need all the pixel coordinate info to do the sprites right as well...
-
- > draw. And do the transparent textures bring problems?
-
- I've not really considered those yet. Are they really that common in DOOM?
- There are none in Jaguar DOOM and it doesn't seem to matter much, but then
- those levels have been redesigned, which obviously is not an option for us.
-
- > Yes, I thought the right way to do it was to draw all the solid walls of a
- > ssector, and then, for each transparent wall, to look in the BSP which
- > ssector is behind it, and draw this sector, clipped by the transparent wall.
-
- You wouldn't really have to consider the transparent wall at while drawing
- what is behind it, I think. Just draw it on top afterwards.
-
- > Then, when returning, draw the transparent or semi transparent wall. So you
- > have to pile the coordinates of the transparent walls. Couldn't this data be
-
- You could do that for all walls, transparent or not. As I've said, the
- modifications I've done for memory efficiency draw walls one at a time
- without every drawing a pixel twice. So the order (front to back or the
- reverse) of the drawing is actually unimportant.
- _But_, you would need to keep all the coordinate information I optimized
- away if you were going to remember what wall etc you should draw on top.
- Doing it only for transparent walls might be workable if they really are
- as uncommon as I believe.
-
- > used to draw the sprites, also? Or am I once more completely out of the
- > question?
-
- If there's nothing wrong with my reasoning above (I guess you'll have to
- spend some hours with the DVIEW sources before you can find out), it
- wouldn't work (without severe memory overhead) since the sprites are so
- many.
-
- By the way, I'm not sure what definitions you use for 'tranparent' and
- 'semi-transparent' walls. That might be a communication problem.
- What I mean (and I only use one of the terms) is a wall that has a texture
- with transparent holes in it. Most windows etc only have walls at the top
- bottom and thus don't need any kind of transparency. Diagonal windows and
- cell bars that are in some places do, however.
-
- > >I've heard that SNES DOOM has no floor or ceiling. I'll try that out.
- > Well, even so, you've got to draw a filled polygon...
-
- No, you've got to draw a bunch of horizontal lines which is much easier.
- It would even be enough to clear the screen before you start drawin, but
- that might be slower.
-
- > >I've spent far too much time with DVIEW, so I'm going to leave it as it is
- > >for now. It simply refuses to do as I want...
- > What do you mean?
-
- It's those display glitches that I can't get rid of. I've been _sure_ so
- many times now that I've got rid of them, only to find out that my new
- 'fixed' code don't improve things at all or causes major havoc all over
- the place...
-
- I guess if I had the patience to sit down and work out all the checks from
- the ground up I could get it right, or at least find out why it won't work.
-
- > >For good examples of the bugs, go into the room directly on the left
- > >in the first level and look at the top of the stairs. The problem there
- > >is that the wall outside is drawn on top of rest of the room. The
- > >secret door near the end of the level is an example of the 'transparancy'.
- > >If you can fix those bugs, I'd be very happy.
- > I'll also try to understand this.
-
- ;-)
-
- > OK.
- > Well, Bye. I'll keep you informed. But I have to admit I'm very impressed by
- > the speed at which you achieved so much.
-
- I haven't really _achieve_ that much. The changes to DVIEW are not very
- extensive really, but I guess I've got a rather thorough understanding
- of how to do the 3D environment. That's not to say that there's not parts
- that can be done quite differently as I guess this letter has shown.
-
-
- Ooops, I just got a warning that the system is going down in a couple of
- minutes so I guess I should send this off. I've not reread it very
- carefully, but I hope it's more or less coherent.
-
- Regards,
- Johan
-
- --
- Chalmers University | Why are these | e-mail: d8klojo@dtek.chalmers.se
- of Technology | .signatures | rand@cd.chalmers.se
- | so hard to do | www/ftp: rand.thn.htu.se
- Gothenburg, Sweden | well? | (MGIFv5 and QLem)
-
-